Skip to content

Conversation

@jbouwh
Copy link
Contributor

@jbouwh jbouwh commented Oct 22, 2025

Proposed change

Introducing description placeholders for service action translations.
Blog post added

Type of change

  • Document existing features within Home Assistant
  • Document new or changing features for which there is an existing pull request elsewhere
  • Spelling or grammatical corrections, or rewording for improved clarity
  • Changes to the backend of this documentation
  • Remove stale or deprecated documentation

Checklist

  • I have read and followed the documentation guidelines.
  • I have verified that my changes render correctly in the documentation.

Additional information

Summary by CodeRabbit

  • Documentation
    • Enhanced documentation with description placeholders support for service actions
    • Added internationalization guidance with updated code examples
    • Published blog post on service translation placeholders feature

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 22, 2025

📝 Walkthrough

Walkthrough

Documentation updates introducing the description_placeholders feature for service action registration. Changes explain how to use placeholders to exclude URLs and dynamic content from translations. A new blog post announces the feature and provides usage guidance across multiple documentation files.

Changes

Cohort / File(s) Change Summary
Core documentation updates
docs/core/integration-quality-scale/rules/action-setup.md, docs/internationalization/core.md, docs/dev_101_services.md
Added guidance and examples demonstrating description_placeholders support in service action registration. Updated code examples to show placeholder parameter usage and extended line ranges in code blocks. Includes note that placeholders enable translation exclusion for URLs and external resources.
Blog announcement
blog/2025-11-27-service-translation-placeholders.md
New blog post introducing translation placeholders for service actions. Describes feature benefits and recommends moving URLs from service descriptions into description placeholders during registration.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

  • All changes are documentation and blog content updates with no code logic or implementation
  • Updates are straightforward explanatory additions with consistent patterns across files
  • No configuration, API, or behavioral changes to review

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically summarizes the main change: introducing description placeholders for service action translations, which aligns with all the file modifications.
Description check ✅ Passed The description follows the template structure with proposed change, type of change (documented with checkbox), and checklist items completed. However, the proposed change section is minimal and the issue field is incomplete.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch service-action-description-placeholders

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 0302afd and 43cdec2.

📒 Files selected for processing (1)
  • blog/2025-11-27-service-translation-placeholders.md (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • blog/2025-11-27-service-translation-placeholders.md

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 39bb544 and 81dc571.

📒 Files selected for processing (2)
  • blog/2025-10-22-service-translation-placeholders.md (1 hunks)
  • docs/core/integration-quality-scale/rules/action-setup.md (2 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)

⚙️ CodeRabbit configuration file

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

  • Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • Use sentence-style capitalization also in headings.

do not comment on HTML used for icons

Avoid flagging inline HTML for embedding videos in future reviews for this repository.

Files:

  • blog/2025-10-22-service-translation-placeholders.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
  • GitHub Check: Redirect rules - developers-home-assistant
  • GitHub Check: Header rules - developers-home-assistant
  • GitHub Check: Pages changed - developers-home-assistant
🔇 Additional comments (2)
blog/2025-10-22-service-translation-placeholders.md (1)

1-6: Front matter structure is correct.

docs/core/integration-quality-scale/rules/action-setup.md (1)

28-28: Code example correctly demonstrates the new parameter.

The code block range update and new description_placeholders parameter are correctly placed and formatted. The example with {"example_url": "https://schedule.example.com"} provides clear, realistic guidance.

Also applies to: 47-47

Copy link
Contributor

@emontnemery emontnemery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The documentation here https://developers.home-assistant.io/docs/internationalization/core?_highlight=translation_placeholders#service-actions should also be updated to mention translation_placeholders are supported (as is the case for the documentation of entity translations)

@emontnemery emontnemery marked this pull request as draft October 27, 2025 08:15
@jbouwh jbouwh marked this pull request as ready for review November 25, 2025 20:30
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between e673464 and 32c846c.

📒 Files selected for processing (4)
  • blog/2025-10-22-service-translation-placeholders.md (1 hunks)
  • docs/core/integration-quality-scale/rules/action-setup.md (2 hunks)
  • docs/dev_101_services.md (1 hunks)
  • docs/internationalization/core.md (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/core/integration-quality-scale/rules/action-setup.md
  • blog/2025-10-22-service-translation-placeholders.md
🧰 Additional context used
📓 Path-based instructions (1)
*/**(html|markdown|md)

⚙️ CodeRabbit configuration file

*/**(html|markdown|md): - For instructional content in documentation, use a direct and authoritative tone. Avoid expressions of politeness such as 'may' or 'please', and ensure the goal of the instruction is fronted.

  • Apply the Microsoft Style Guide to ensure documentation maintains clarity and conciseness.
  • In step-by-step instructions, front the location phrase in the instructional sentence.
  • In step-by-step instructions, front the 'goal' in the instructional sentence.
  • In step-by-step instructions, if in doubt what to front, front the 'goal' before the location phrase in the instructional sentence.
  • do not hyphenate terms like 'top-right' or 'bottom-left' with 'corner'

*/**(html|markdown|md): - Use bold to mark UI strings.

  • If "" are used to mark UI strings, replace them by bold.

  • Be brief in your replies and don't add fluff like "thank you for..." and "Please let me know if"

  • Use sentence-style capitalization also in headings.

do not comment on HTML used for icons

Avoid flagging inline HTML for embedding videos in future reviews for this repository.

Files:

  • docs/dev_101_services.md
🔇 Additional comments (1)
docs/internationalization/core.md (1)

200-217: Example demonstrates placeholder usage correctly.

The updated description in the JSON example at line 203 appropriately shows how placeholders are used to keep URLs out of translatable strings.

@jbouwh
Copy link
Contributor Author

jbouwh commented Nov 26, 2025

@emontnemery @bramkragten This thould be reviewed as the parent PR's are merged.

@jbouwh jbouwh requested a review from emontnemery November 26, 2025 21:30
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@home-assistant home-assistant bot marked this pull request as draft November 27, 2025 11:54
@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@jbouwh jbouwh marked this pull request as ready for review November 27, 2025 14:07
Copy link
Member

@MartinHjelmare MartinHjelmare left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@MartinHjelmare MartinHjelmare merged commit e919888 into master Nov 27, 2025
5 checks passed
@MartinHjelmare MartinHjelmare deleted the service-action-description-placeholders branch November 27, 2025 15:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants